package SnmpAll;



import BaseClasses.DataInterface;
import java.util.ArrayList;

/**
 * Classe que contém uma lista de DataInterfaces, ou seja de todos os interfaces e os seus dados.
 */
public class SnmpData {
    
    private volatile ArrayList<DataInterface> ArrayListInterfaces;
    
    /**
     * COntrutor
     */
    public SnmpData(){
        ArrayListInterfaces = new ArrayList<DataInterface>();
    }
    
    /**
     * Construtor com lista de interfaces já criada
     * 
     * @param ArrayListInterfaces
     */
    public SnmpData(ArrayList<DataInterface> ArrayListInterfaces){
        this.ArrayListInterfaces = ArrayListInterfaces;
    }
    
    //<editor-fold defaultstate="collapsed" desc="Gets">
    
    /**
     * Retorna a lista de DataInterfaces
     * 
     * @return
     */
    public ArrayList<DataInterface> getArrayListInterfaces(){
        return ArrayListInterfaces;
    }
    
    /**
     * Retorna um clone da lista de DataInterfaces.
     * Relevante devido à concorrência das threads na escrita e leitura de valores
     * 
     * @return
     */
    public ArrayList<DataInterface> getArrayListInterfacesClone(){
        return (ArrayList<DataInterface>) ArrayListInterfaces.clone();
    }
    //</editor-fold>
    
    //<editor-fold defaultstate="collapsed" desc="Sets">
    
    /**
     * Set da lista de DataInterfaces
     * 
     * @param ArrayListInterfaces
     */
    public void setArrayListInterfaces(ArrayList<DataInterface> ArrayListInterfaces){
        this.ArrayListInterfaces = ArrayListInterfaces;
    }
    //</editor-fold>
}
